package com.mti.monitor.service;

import com.github.pagehelper.PageInfo;
import com.mti.monitor.bean.PageableIn;
import com.mti.monitor.bean.model.MonitorLogParam;
import com.mti.monitor.bean.model.MonitorPage;
import com.mti.monitor.bean.model.SysMonitorConfig;
import com.mti.monitor.bean.model.SysMonitorErrorLog;
import com.mti.monitor.bean.req.MonitorReq;

import java.util.List;

public interface SysMonitorConfigService {


    void createConfig(SysMonitorConfig config);

    /**
     * 查询所有未删除的数据列表
     *
     * @return
     */
    PageInfo<SysMonitorConfig> selectAllList(PageableIn req);

    SysMonitorConfig selectById(String id);

    PageInfo<SysMonitorConfig> selectMonitorConfigPage(MonitorReq req);

    List<SysMonitorErrorLog> selectMonitorLogList();

    /**
     * 分页查询监控配置
     *
     * @param page
     * @return
     */
    MonitorPage selectMonitorLogPage(MonitorLogParam page);

    /**
     * 更新配置
     *
     * @param config
     */
    void updateConfig(SysMonitorConfig config);

    void deleteMonitor(String id);

    /**
     * 停用监控
     *
     * @param ids
     */
    void stopMonitor(List<String> ids);

    /**
     * 启用监控
     *
     * @param ids
     */
    void startMonitor(List<String> ids);

    SysMonitorConfig selectOneById(String id);


}
